#ifndef MIDI_H
#define MIDI_H

#include <QObject>
#include <QStringList>
#include "RtMidi.h"
#include "mensajeMidi.h"

class Midi : public QObject
{
    Q_OBJECT
public:
    explicit Midi(QObject *parent = NULL);
    ~Midi();

    QStringList getListaNombresPuertosEntrada();

    bool abrirPuerto(int numeroPuerto = 0);
    bool abrirPuerto(const QString& nombrePuerto);
    bool cerrarPuerto();

    void procesarMensaje(double deltatime, std::vector<unsigned char> *datosMensaje);

private:


signals:
    void mensajeRecibido(MensajeMidi mensaje);

public slots:

private:
    RtMidiIn *midiIn;
};

#endif // MIDI_H
